//package com.qf.filter;
//
//import com.qf.pojo.User;
//
//import javax.servlet.*;
//import javax.servlet.annotation.WebFilter;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import javax.servlet.http.HttpSession;
//
//import java.io.IOException;
//
///**
// * @author LiXuekai on 2022/5/23
// */
//@WebFilter("/*")
//public class PermFilter implements Filter {
//
//    @Override
//    public void init(FilterConfig filterConfig) throws ServletException {
//
//    }
//
//    @Override
//    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
//        //获取用户的访问路径
//        HttpServletRequest request = (HttpServletRequest) servletRequest;
//        HttpServletResponse response = (HttpServletResponse) servletResponse;
//        //获取到用户访问的路径
//        String urlStr = request.getRequestURI();
//        System.out.println("**********" + urlStr);
//        //判断用户路径 放行所有静态资源  放行用户登录的路径  放行用户的注册首页 商品查询等路径
//        //判断用户的扩展名 如果是js文件放行 因为js和jsp只差一个字母所以无法用contains判断
//        if (urlStr.lastIndexOf(".") > 0) {
//            String exStr = urlStr.substring(urlStr.lastIndexOf("."));
//            if (exStr != null) {
//                if (".js".equals(exStr)) {
//                    //放行
//                    filterChain.doFilter(servletRequest, servletResponse);
//                     return;
//                }
//            }
//        }
//        if (urlStr.contains("/login") || urlStr.contains("/code")
//                || urlStr.contains("/users") || urlStr.contains("/register")
//                || urlStr.contains(".css")
//                || urlStr.contains("/type")||urlStr.contains("/goods")
//                || urlStr.contains(".css") || urlStr.contains("/admin")
//                || urlStr.contains("jsp") || urlStr.contains("png")
//                || urlStr.contains(".gif") || urlStr.contains(".png")
//                || urlStr.contains(".gif") || urlStr.contains(".eot")
//                || urlStr.contains(".svg") || urlStr.contains(".ttf")
//                || urlStr.contains(".woff") || urlStr.contains(".woff2")) {
//            //放行
//            filterChain.doFilter(servletRequest, servletResponse);
//            return;
//        }
//        //获取session对象
//        HttpSession session = request.getSession();
//        //判断会话中是否有消费者用户的对象信息
//        User user = (User) session.getAttribute("loginUser");
//        if (user != null) {
//            //5.放行
//            filterChain.doFilter(servletRequest, servletResponse);
//        } else {
//            //没有让用户重定向到消费者登陆界面
//            response.sendRedirect("/login.jsp");
//        }
//    }
//
//
//    @Override
//    public void destroy() {
//
//    }
//}